home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / UTILREEN / PRNTUTIL.LZH / SPS.DOC < prev    next >
Text File  |  1987-05-02  |  5KB  |  89 lines

  1.           SPS.COM ver 2.0 by Bob Montgomery, 4-23-87
  2.  
  3. This is a Terminate and Stay Resident (TSR) program which does  a 
  4. Selective  Print Screen (hence the name SPS). Once installed,  it 
  5. vectors  interrupt 5 (the print screen interrupt) to itself,  and 
  6. sits waiting for a print screen request. When you request a print 
  7. screen,  the  cursor is moved to the top of the screen,  and  the 
  8. prompt  'Set  start  position' appears in the  lower  right  hand 
  9. corner.  The  cursor  can be moved around  the  screen  with  the 
  10. following keys:
  11.  
  12.      Right arrow - move cursor right; stops at right edge
  13.      Left arrow -  move cursor left; stops at left edge
  14.      Up arrow -    move cursor up one line; stops at top line
  15.      Down arrow    move cursor down one line; stops at bottom line
  16.      Page Up       move cursor to top line
  17.      Page Down     move cursor to bottom line
  18.      ^Right arrow  move cursor to right edge of screen
  19.      ^Left arrow   move cursor to left edge of screen
  20.      Home          move cursor to upper left corner of screen
  21.      End           move cursor to lower right corner of screen
  22.      P             Print whole screen
  23.      Escape        Cancel print screen
  24.  
  25. When the cursor is at the desired start position, press Enter and 
  26. the prompt 'Set end position' will appear in the lower right hand 
  27. corner.  Move the cursor to the desired end position,  and  press 
  28. Enter  again. The text within the rectangle defined by the  start 
  29. and end positions will then be printed. 
  30.  
  31. If  you don't want to do a print screen, press Escape  to  cancel 
  32. the operation and return to the interrupted program. If you  want 
  33. to print the whole screen, press the P (upper or lower case) key. 
  34.  
  35. Before the printer starts printing, the prompt in the lower right 
  36. corner  is  removed  and the original text is  restored.  If  the 
  37. printer  is  not  ready (or deselected), a  prompt  'Printer  not 
  38. ready'  will  appear  in the lower right  corner  after  about  2 
  39. seconds. Then after about 10 seconds, if the printer is still not 
  40. ready,  the  print  screen operation aborts and  returns  to  the 
  41. interrupted  program.  If during the print screen  operation  the 
  42. printer  becomes  'not ready', a prompt will tell you  this,  and 
  43. give you about 10 seconds to fix the problem before aborting.
  44.  
  45. The  program only traps interrupt 5 (print screen) until  invoked 
  46. by  pressing Shift PrtSc. Then, it vector the timer and  keyboard 
  47. interrupts  (8 and 9) to itself, and saves the old vectors.  When 
  48. it is done, it puts the old vectors back, and quits. In this way, 
  49. it is essentialy 'not there' until called, and 'not there'  after 
  50. it  is  done. This means that it will not  interfere  with  other 
  51. programs,  and  not  cause  additional  processing  delays.  Once 
  52. invoked, it traps all keyboard input and does not pass it on,  so 
  53. the  interrupted  program, other TSRs, and BIOS never  know  that 
  54. keys have been pressed. Since the last thing BIOS knew before the 
  55. program  was invoked was that the Shift and PrtSc keys  had  been 
  56. pressed, the releasing of the Shift key is passed on so that BIOS 
  57. can do its housekeeping; releasing the PrtSc key does not  affect 
  58. the  BIOS housekeeping, so it is not passed on. This  means  that 
  59. the  program must service the keyboard each time it generates  an 
  60. interrupt 9, a job which is normally done by BIOS.
  61.  
  62. This program  solves  a number of problems, some  of  which  were 
  63. present with the previous version of SPS by Paul Trioano.
  64.  
  65.      1. Passing  keys  on is sometimes a problem,  because  other 
  66.         programs (like CED) will save the keypresses, and act  on 
  67.         them  after the interrupting program quits.
  68.      2. Sending  the  screen characters directly is  sometimes  a 
  69.         problem,  since  some screens contain  control  character 
  70.         (below  20h) and make them appear as blanks  by  changing 
  71.         the attribute to black on black; HDIR is an example. This 
  72.         will  cause  the printer output to not  match  the  video 
  73.         screen.
  74.      3. Routing  interrupts  thru  a program  when  not  required 
  75.         takes  extra processing time, and can cause  interference 
  76.         with other programs.
  77.  
  78. The source code is included, and is liberally commented to  allow 
  79. those  interested to understand how it works. It uses  only  BIOS 
  80. calls  and no DOS calls; DOS calls will not work in TSR  programs 
  81. because DOS is not re-entrant. It has been tried on the XT and AT 
  82. with no problems, so will probably work on all machines with  IBM 
  83. compatible  BIOS. If you have any problems or comments,  leave  a 
  84. message  with the Black Hole BBS in Orlando, Florida, (305)  260-
  85. 6397. Enjoy.
  86.  
  87. Bob Montgomery
  88. 
  89.